package com.translate.web.service;
import com.basic.service.contract.IBaseService;
import com.translate.vo.contract.IAdminRoleRelationAuthorityVO;

import java.util.List;

import com.translate.entity.AdminRoleRelation;

public interface IAdminRoleRelationService extends IBaseService<AdminRoleRelation> { 

	/**
	 * 获取当前用户所有角色
	 * @param userId
	 * @return
	 */
	List<AdminRoleRelation> getAdminRoleRelations(int userId);
	
	/**
	 * 顶级管理员
	 * @param userId
	 * @return
	 */
	byte topManager(int userId);
	
	/**
	 * 添加公海管理员
	 * @param userId
	 * @return
	 */
	int addHighSeas(List<Long> userId);
	

	/**
	 * 添加商品管理员
	 * @param userId
	 * @return
	 */
	int addProduct(List<Long> userId);
	
	/**
	 * 
	 * @param <VO>
	 * @param target
	 * @return
	 */
	<VO extends IAdminRoleRelationAuthorityVO> List<IAdminRoleRelationAuthorityVO> getAdminRoleRelationAuthorityVOs(Class<VO> target, int roleId);
	
	
	/**
	 * 添加人员及部门管理员
	 * @param userId
	 * @return
	 */
	int addDepartment(List<Long> userId);
	
}
